package com.tyk.bookstore.back.order.manager.excel.model;


import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.alibaba.excel.enums.poi.BorderStyleEnum;
import lombok.Data;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author tyk
 * @description 订单
 */
@Data
@Accessors(chain = false)
@HeadStyle(fillForegroundColor = 9, borderBottom = BorderStyleEnum.THIN)
@HeadFontStyle(fontHeightInPoints = 11)
@ContentStyle(borderTop = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderLeft = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN)
public class OrderExcelVo {

    /**
     * 订单核心信息
     */
    @ExcelProperty("ID")
    private String id;

    @ExcelProperty("父订单ID")
    private String parentId;

    @ExcelProperty("订单号")
    private String orderNo;

    @ExcelProperty("会员ID")
    private String memberId;

    @ExcelProperty("订单金额")
    private BigDecimal amount;

    @ExcelProperty("运费金额")
    private BigDecimal freight;

    @ExcelProperty("商品总重量")
    private String weight;

    @ExcelProperty("备注")
    private String note;

    @ExcelProperty("订单状态")
    private String state;

    @ExcelProperty("仓库ID")
    private String warehouseId;

    @ExcelProperty("运单ID")
    private String waybillId;

    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @ExcelProperty("更新时间")
    private LocalDateTime updateTime;


    /**
     * 订单额外信息
     */

    @ExcelProperty("收件人姓名")
    private String cneeName;

    @ExcelProperty("收件人电话")
    private String cneePhone;

    @ExcelProperty("收件人所在区域")
    private Long cneeAreaCode;

    @ExcelProperty("收件人地址")
    private String cneeAddress;

    @ExcelProperty("支付方式")
    private String paymentWay;

    @ExcelProperty("支付时间")
    private LocalDateTime paymentTime;

    @ExcelProperty("订单取消原因")
    private String cancelReason;

    @ExcelProperty("订单取消时间")
    private LocalDateTime cancelTime;

    @ExcelProperty("派单时间")
    private LocalDateTime dispatchTime;

    @ExcelProperty("签收时间")
    private LocalDateTime signedTime;

}
